package com.hckjsec.oa.mapper;

import java.util.List;
import com.hckjsec.oa.domain.OaDate;

/**
 * 公司OA日期Mapper接口
 * 
 * @author cyt
 * @date 2021-12-21
 */
public interface OaDateMapper 
{
    /**
     * 查询公司OA日期
     * 
     * @param id 公司OA日期ID
     * @return 公司OA日期
     */
    public OaDate selectOaDateById(Long id);

    /**
     * 查询公司OA日期列表
     * 
     * @param oaDate 公司OA日期
     * @return 公司OA日期集合
     */
    public List<OaDate> selectOaDateList(OaDate oaDate);

    /**
     * 新增公司OA日期
     * 
     * @param oaDate 公司OA日期
     * @return 结果
     */
    public int insertOaDate(OaDate oaDate);

    /**
     * 修改公司OA日期
     * 
     * @param oaDate 公司OA日期
     * @return 结果
     */
    public int updateOaDate(OaDate oaDate);

    /**
     * 删除公司OA日期
     * 
     * @param id 公司OA日期ID
     * @return 结果
     */
    public int deleteOaDateById(Long id);

    /**
     * 批量删除公司OA日期
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteOaDateByIds(Long[] ids);


    /**
     * 批量修改日期 将日期修改为节假日
     *
     * @param data 需要修改的数据date
     * @return 结果
     */
    public int updateOaDateYesFestival(String[] dates);


    /**
     * 批量修改日期 将日期修改为不是节假日
     *
     * @param data 需要修改的数据date
     * @return 结果
     */
    public int updateOaDateNoFestival(String[] dates);


    /**
     * 批量修改日期 将日期恢复为初始化状态
     *
     * @param data 需要修改的数据date
     * @return 结果
     */
    public int updateOaDateRecoveryFestival(String[] dates);

    /**
     * 查询公司OA日期列表-日历
     *
     * @param oaDate 公司OA日期
     * @return 公司OA日期集合
     */
    public List<OaDate> selectOaDateCalendar(OaDate oaDate);
}
